nfandomcom-20200216-history
Code editing
A quick guide to object editing. In N's map data, each object is represented by a number, followed by "^" (caret), followed by a bunch of other numbers. You can create some levels which are impossible in Ned by manually editing the level data. This is mostly used for making custom jump pads and teleporters. The object data is separated from the tile data by a "|" (vertical bar or pipe). The end of an object's data is marked by a "!" (exclamation mark). Tiles must come before objects in the map data. Before we start, a couple bits of notation… *For each object, the code is "code_number^argument1,argument2, etc". The first number indicates which object it is. *Arguments listed as "x,y" will always refer to the position of the object, where x is horizontal and y is vertical, 24,24 is the top left corner, 24,576 is the bottom left, 768,24 is the top right, 768,576 is the bottom right, and 396,300 is the center. A tile is 24 pixels to a side. The ninja 5^x,y Enemies Gauss Turret 3^x,y Homing Turret 10^x,y Mine 12^x,y Floorguard 4^x,y,z *'Z' was supposed to be the floorguard's facing direction, but editing it has no effect as Metanet Software decided not to implement a facing direction to the floorguards. Thwump 8^x,y,direction *'Direction': 0 - right, 1 - down, 2 - left 3 - up. Any other value will make it stationary, the right side deadly, and the collision detection & graphics will be wrong. Drone 6^x,y,path,seeking,type,direction *'Path': The pathfinding algorithm. 0 - surface follow cw, 1 - surface follow ccw, 2 - dumb cw, 3 - dumb ccw, 4 - alternate, 5 - random, anything else - immobile. *'Seeking': 0 - False, else - True (only effects zap drones). *'Type': 0 - zap, 1 - laser, 2 - chaingun, otherwise - harmless moving dot. *'Direction': 0 - R, 1 - D, 2 - L, 3 - U, same as for thwumps. Objects Gold *0^x,y Bounceblock *1^x,y Launch pad 2^x,y,xthrust,ythrust *'Xthrust' and Ythrust are how fast the ninja is pushed in the x''' and '''y direction. +xthrust is right, +ythrust is down. 1 is the default strength for vertical/horizontal pads. For other orientations, you'll have to use trig (0.707106781186547 is the default for 45 degree angles). It is very sensitive. -1.5 ythrust will send you from the floor into the roof, hard. About 1.35 is just roof height. If you increase the velocity enough, you can create teleporters. One way platform 7^x,y,direction *'Direction' is the same as for thwumps and drones. 0 - R, 1 - D, 2 - L, 3 - U. Exit *11^xdoor,ydoor,xswitch,yswitch Door 9^x,y,alignment,trap,x2,y2,locked,x3,y3 *'X',Y''' is for the switch if applicable. *'''Alignment: 1 - bottom, otherwise - right. *'Trap': This door is a trapdoor. 0 - false, otherwise - true. Will be overrridden by locked. *'x2', y2: the position of the door IN THE GRID (0,24 is bottom left). *'Locked': This is a locked door. 0 - False, 1 - True. If it conflicts with trap, it will default to a locked door. *'x3', y3: the position of the door inside the grid square (0,0 for right and down facing doors, -1,0 for left facing, and 0,-1 for up facing.) Tileset codes *E = 1 *D = 0 *1Q = 3 *1W = 2 *1A = 4 *1S = 5 *2Q = G *2W = F *2A = H *2S = I *3Q = ? *3W = > *3A = @ *3S = A *4Q = 7 *4W = 6 *4A = 8 *4S = 9 *5Q = Q *5W = P *5A = N *5S = O *6Q = K *6W = J *6A = L *6S = M *7Q = C *7W = D *7A = B *7S = E *8Q = ; *8W = : *8A = < *8S = = Note: Certain other characters(for example: Z or some special characters(hold alt press 2-3 numbers on numberpad for Windows, option(shift key for even more) and letter characters for Mac) ) will result in a unique tile that has very bizzare properties even though it may not look it. Also note that the standard space character ( ) just skips that tile, so the tile already displayed will show through. Collisions will not apply to it, so it's basically like a random tile that behaves as a D would. Category:Manual nediting